package main

import (
	"log"
	"runtime"
	"strings"
	_ "studygo/init" //为了引入 log
	"time"
)

func main() {

	log.Println(strings.Repeat("-*-", 10))
	time.Sleep(2 * time.Second)
	cpuNum()

}
func cpuNum() {
	log.Println("当前协程可用CPU逻辑核心数:", runtime.NumCPU())
	//设置可用CPU,返回之前的配置
	gomaxprocs := runtime.GOMAXPROCS(4)
	log.Println(gomaxprocs)
	log.Println("当前协程可用CPU逻辑核心数:", runtime.GOMAXPROCS(4))
	log.Println("当前协程可用CPU逻辑核心数:", runtime.GOMAXPROCS(2))

}

// 出让
func tes2() {
	for i := 0; i < 2; i++ {
		go func(num int) {
			if num == 0 {
				//出让当前协程的资源
				runtime.Gosched()
			}
			//协程 2 7 打印的结果，协程都是  2
			for j := 0; j < 10; j++ {
				log.Printf("协程 %d %d \n", num, j)
			}
		}(i)
	}

}
func test() {
	for i := 0; i < 2; i++ {
		go func() {
			//协程 2 7 打印的结果，协程都是  2
			for j := 0; j < 10; j++ {
				log.Printf("协程 %d %d \n", i, j)
			}
		}()
	}
}
